using System;
using System.Collections.Generic;

using System.Text;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.Corretagem.Model
{
    /// <summary>
    /// Faixa Corretagem
    /// </summary>
	[Serializable]
	public class FaixaCorretagem : BaseModel
	{
		#region Construtor
		
		/// <summary>
		/// Construtor Padrão
		/// </summary>
		public FaixaCorretagem()
		{
			
		}
		
		/// <summary>
		/// Construtor Parâmetros
		/// </summary>
        public FaixaCorretagem(DateTime? dataFinal, DateTime? dataInicial, int? numeroFaixa, decimal? percentualAliquota, decimal? valorAcrescimo, decimal? valorInferior, decimal? valorSuperior)
        {
            this.DataFinal = dataFinal;
            this.DataInicial = dataInicial;
            this.NumeroFaixa = numeroFaixa;
            this.PercentualAliquota = percentualAliquota;
            this.ValorAcrescimo = valorAcrescimo;
            this.ValorInferior = valorInferior;
            this.ValorSuperior = valorSuperior;
        }
		
		#endregion
        #region Campos


        private DateTime? _dataFinal;
        private DateTime? _dataInicial;
        private int? _numeroFaixa;
        private decimal? _percentualAliquota;
        private decimal? _valorAcrescimo;
        private decimal? _valorInferior;
        private decimal? _valorSuperior;

        #endregion
        #region Propriedades
        /// <summary>
        /// Data Final
        /// </summary>
        public DateTime? DataFinal
        {
            get { return _dataFinal; }
            set { _dataFinal = value; OnPropertyChanged("DataFinal"); }
        }

        /// <summary>
        /// Data Inicial
        /// </summary>
        public DateTime? DataInicial
        {
            get { return _dataInicial; }
            set { _dataInicial = value; OnPropertyChanged("DataInicial"); }
        }

        /// <summary>
        /// Numero Faixa
        /// </summary>
        public int? NumeroFaixa
        {
            get { return _numeroFaixa; }
            set { _numeroFaixa = value; OnPropertyChanged("NumeroFaixa"); }
        }

        /// <summary>
        /// Percentual aliqouta
        /// </summary>
        public decimal? PercentualAliquota
        {
            get { return _percentualAliquota; }
            set { _percentualAliquota = value; OnPropertyChanged("PercentualAliquota"); }
        }

        /// <summary>
        /// Valor Acrescimo
        /// </summary>
        public decimal? ValorAcrescimo
        {
            get { return _valorAcrescimo; }
            set { _valorAcrescimo = value; OnPropertyChanged("ValorAcrescimo"); }
        }

        /// <summary>
        /// Valor Inferior
        /// </summary>
        public decimal? ValorInferior
        {
            get { return _valorInferior; }
            set { _valorInferior = value; OnPropertyChanged("ValorInferior"); }
        }

        /// <summary>
        /// Valor Superior
        /// </summary>
        public decimal? ValorSuperior
        {
            get { return _valorSuperior; }
            set { _valorSuperior = value; OnPropertyChanged("ValorSuperior"); }
        }

        #endregion
	}
}

